Seminar Configurable Systems

نویسنده

  • Peter Miller
چکیده

Recursive Make Considered Harmful by Peter Miller discusses software construction using Make for projects that span several directories. Using an example, Miller shows the shortcomings and dangers of the traditional approach where each directory has its own Makefile that is executed by an recursively invoked instance of Make. In the example, two directories have mutual dependencies which cannot be separated in two Makefiles without effectively writing one global Makefile. Distributed Makefiles are notorious for missing these inter-directory dependencies and thus causing incorrect builds. The traditional counter measures fail to solve the problem reliably or lead to overlong build times because the build process is iterated for several times. As a consequence, Miller advocates the use of a single, global Makefile that knows all dependencies. This solution is traditionally greeted with skepticism and Miller rejects often-used arguments against them: a single Makefile is not necessarily bigger than multiple Makefiles, less maintainable, more complicated to create, or causes longer build times. Miller devotes a large part of the paper to efficient Makefiles. He concluded from experiments that time spent by Make itself is significant, especially caused by frequent re-evaluation of variables. Providing detailed code he discusses how to store automatically derived dependencies for C programs in many files such to avoid recomputing dependencies unnecessarily. The paper ends with the finding that previous literature on Make fails to discuss the usage of Make in multi-directory projects. The paper offers valuable advice for practitioners: the running example, the shortcoming of the traditional approach, and the advocated solution are discussed in detail. From a scientific point of view the paper is less satisfying. It contains many claims, especially about the performance of Make, that are not substantiated. An exact and reproducible breakdown of how much time is spent where in a Make-based build process would have been useful. The paper is written under the premise that Make’s design is not to blame for the problems observed in large builds. When the paper was written in 1998, already a number of attempts existed (tools like Mk, Cake, NMake) to overcome the weaknesses of Make. From a scientific point of view, a comparison with these would have been interesting.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Seminar Configurable Systems

The manual of Cons was never meant to be read in a seminar. It contains many details that are important to use Cons as a tool but that may obstruct the principal features. On the other hand, many conceptual questions are left unanswered. We are diverging from out usual procedure and will not work in groups of five first. Instead, try to answer with the people next to you in groups of two or thr...

متن کامل

Unifying Product and Software Configuration

Research on computer-supported configuration of customizable products and services is currently carried out in two main communities: one community is mainly focused on the configuration of hardware artifacts, the other one is interested in configurable software systems and software product lines. Despite the significant overlap in research interests, the fields have mainly evolved in isolation ...

متن کامل

Software Engineering for Self-Adaptive Systems: Assurances

The important concern for modern software systems is to become more cost-effective, while being versatile, flexible, resilient, dependable, energy-efficient, customisable, configurable and self-optimising when reacting to run-time changes that may occur within the system itself, its environment or requirements. One of the most promising approaches to achieving such properties is to equip softwa...

متن کامل

Variability encoding: From compile-time to load-time variability

Many software systems today are configurable. Analyzing configurable systems is challenging, especially as (1) the number of system variants may grow exponentially with the number of configuration options, and (2) often existing analysis tools cannot be used for configurable systems. Recent work proposes to automatically transform compile-time variability into load-time variability—called varia...

متن کامل

Time-space efficient regression testing for configurable systems

Configurable systems are those that can be adapted from a set of options. They are prevalent and testing them is important and challenging. Existing approaches for testing configurable systems are either unsound (i.e., they can miss fault-revealing configurations) or do not scale. This paper proposes EvoSPLat, a regression testing technique for configurable systems. EvoSPLat builds on our previ...

متن کامل

Variability Management in Business-IT Alignment: MDA based Approach

The expansion of PAIS (Process Aware Information Systems) has created the need for reuse in business processes. In fact, companies are left with directories containing several variants of the same business processes, which differ according to their application context. Consequently, the development of PAIS has become increasingly expensive. Therefore, research in business process management dom...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004